package sv.gob.mtps.hr.model;

// Generated 10-29-2012 10:17:15 AM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 * SferhEmpleado generated by hbm2java
 */
@Entity
@Table(name = "sferh_empleado", schema = "new_rrhh")
public class SferhEmpleado implements java.io.Serializable {
	
	
	private String tipoAccion;
	@Transient
	public String getTipoAccion() {
		return tipoAccion;
	}

	public void setTipoAccion(String tipoAccion) {
		this.tipoAccion = tipoAccion;
	}

	private String accion; 
	@Transient
	public String getAccion() {
		return accion;
	}
	
	public void setAccion(String accion) {
		this.accion = accion;
	}

	private String fechaNac;
	@Transient
	public String getFechaNac() {
		return fechaNac;
	}

	public void setFechaNac(String fechaNac) {
		this.fechaNac = fechaNac;
	}

	private int idEmpleado;
	private CatMunicipio catMunicipio;
	private CatEstadoEmpleado catEstadoEmpleado;
	private CatNacionalidad catNacionalidad;
	private CatEstadocivil catEstadocivil;
	private CatGenero catGenero;
	private String nombreCompleto;
	private String nr;
	private int idDeptoResidencia;
	private String lugarNacimiento;
	private Date fechaNacimiento;
	private String duiNumero;
	private Date fechaIngreso;
	private Date fechaRetiro;
	private String correo;
	private String ubicacionFisica;
	private String numeroContrato;
	private String foto;
	private int idJubilado;
	private String nitNumero;
	private String nupNumero;
	private String isssNumero;
	private String direccion;
	private String enCasoAccidenteAvisara;
	private String telefonos;
	private Set<SferhEmpleadoExp> sferhEmpleadoExps = new HashSet<SferhEmpleadoExp>(
			0);
	private Set<SferhCasoEmb> sferhCasoEmbs = new HashSet<SferhCasoEmb>(0);
	private Set<SferhExpediente> sferhExpedientes = new HashSet<SferhExpediente>(
			0);
	private Set<SferhEmpleadoXCatParentesco> sferhEmpleadoXCatParentescos = new HashSet<SferhEmpleadoXCatParentesco>(
			0);

	public SferhEmpleado() {
	}

	public SferhEmpleado(int idEmpleado, CatMunicipio catMunicipio,
			CatEstadoEmpleado catEstadoEmpleado,
			CatNacionalidad catNacionalidad, CatEstadocivil catEstadocivil,
			CatGenero catGenero, int idDeptoResidencia, Date fechaNacimiento,
			Date fechaIngreso, Date fechaRetiro, int idJubilado) {
		this.idEmpleado = idEmpleado;
		this.catMunicipio = catMunicipio;
		this.catEstadoEmpleado = catEstadoEmpleado;
		this.catNacionalidad = catNacionalidad;
		this.catEstadocivil = catEstadocivil;
		this.catGenero = catGenero;
		this.idDeptoResidencia = idDeptoResidencia;
		this.fechaNacimiento = fechaNacimiento;
		this.fechaIngreso = fechaIngreso;
		this.fechaRetiro = fechaRetiro;
		this.idJubilado = idJubilado;
	}

	public SferhEmpleado(int idEmpleado, CatMunicipio catMunicipio,
			CatEstadoEmpleado catEstadoEmpleado,
			CatNacionalidad catNacionalidad, CatEstadocivil catEstadocivil,
			CatGenero catGenero, String nombreCompleto, String nr,
			int idDeptoResidencia, String lugarNacimiento,
			Date fechaNacimiento, String duiNumero, Date fechaIngreso,
			Date fechaRetiro, String correo, String ubicacionFisica,
			String numeroContrato, String foto, int idJubilado,
			String nitNumero, String nupNumero, String isssNumero,
			String direccion, String enCasoAccidenteAvisara, String telefonos,
			Set<SferhEmpleadoExp> sferhEmpleadoExps,
			Set<SferhCasoEmb> sferhCasoEmbs,
			Set<SferhExpediente> sferhExpedientes,
			Set<SferhEmpleadoXCatParentesco> sferhEmpleadoXCatParentescos) {
		this.idEmpleado = idEmpleado;
		this.catMunicipio = catMunicipio;
		this.catEstadoEmpleado = catEstadoEmpleado;
		this.catNacionalidad = catNacionalidad;
		this.catEstadocivil = catEstadocivil;
		this.catGenero = catGenero;
		this.nombreCompleto = nombreCompleto;
		this.nr = nr;
		this.idDeptoResidencia = idDeptoResidencia;
		this.lugarNacimiento = lugarNacimiento;
		this.fechaNacimiento = fechaNacimiento;
		this.duiNumero = duiNumero;
		this.fechaIngreso = fechaIngreso;
		this.fechaRetiro = fechaRetiro;
		this.correo = correo;
		this.ubicacionFisica = ubicacionFisica;
		this.numeroContrato = numeroContrato;
		this.foto = foto;
		this.idJubilado = idJubilado;
		this.nitNumero = nitNumero;
		this.nupNumero = nupNumero;
		this.isssNumero = isssNumero;
		this.direccion = direccion;
		this.enCasoAccidenteAvisara = enCasoAccidenteAvisara;
		this.telefonos = telefonos;
		this.sferhEmpleadoExps = sferhEmpleadoExps;
		this.sferhCasoEmbs = sferhCasoEmbs;
		this.sferhExpedientes = sferhExpedientes;
		this.sferhEmpleadoXCatParentescos = sferhEmpleadoXCatParentescos;
	}

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "id_empleado", unique = true, nullable = false)
	public int getIdEmpleado() {
		return this.idEmpleado;
	}

	public void setIdEmpleado(int idEmpleado) {
		this.idEmpleado = idEmpleado;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_muni_residencia", nullable = false)
	public CatMunicipio getCatMunicipio() {
		return this.catMunicipio;
	}

	public void setCatMunicipio(CatMunicipio catMunicipio) {
		this.catMunicipio = catMunicipio;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_estado", nullable = false)
	public CatEstadoEmpleado getCatEstadoEmpleado() {
		return this.catEstadoEmpleado;
	}

	public void setCatEstadoEmpleado(CatEstadoEmpleado catEstadoEmpleado) {
		this.catEstadoEmpleado = catEstadoEmpleado;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_nacionalidad", nullable = false)
	public CatNacionalidad getCatNacionalidad() {
		return this.catNacionalidad;
	}

	public void setCatNacionalidad(CatNacionalidad catNacionalidad) {
		this.catNacionalidad = catNacionalidad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_estado_civil", nullable = false)
	public CatEstadocivil getCatEstadocivil() {
		return this.catEstadocivil;
	}

	public void setCatEstadocivil(CatEstadocivil catEstadocivil) {
		this.catEstadocivil = catEstadocivil;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_genero", nullable = false)
	public CatGenero getCatGenero() {
		return this.catGenero;
	}

	public void setCatGenero(CatGenero catGenero) {
		this.catGenero = catGenero;
	}

	@Column(name = "nombre_completo", length = 100)
	public String getNombreCompleto() {
		return this.nombreCompleto;
	}

	public void setNombreCompleto(String nombreCompleto) {
		this.nombreCompleto = nombreCompleto;
	}

	@Column(name = "nr", length = 5)
	public String getNr() {
		return this.nr;
	}

	public void setNr(String nr) {
		this.nr = nr;
	}

	@Column(name = "id_depto_residencia", nullable = false)
	public int getIdDeptoResidencia() {
		return this.idDeptoResidencia;
	}

	public void setIdDeptoResidencia(int idDeptoResidencia) {
		this.idDeptoResidencia = idDeptoResidencia;
	}

	@Column(name = "lugar_nacimiento", length = 50)
	public String getLugarNacimiento() {
		return this.lugarNacimiento;
	}

	public void setLugarNacimiento(String lugarNacimiento) {
		this.lugarNacimiento = lugarNacimiento;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_nacimiento", nullable = false, length = 13)
	public Date getFechaNacimiento() {
		return this.fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	@Column(name = "dui_numero", length = 50)
	public String getDuiNumero() {
		return this.duiNumero;
	}

	public void setDuiNumero(String duiNumero) {
		this.duiNumero = duiNumero;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_ingreso", nullable = false, length = 13)
	public Date getFechaIngreso() {
		return this.fechaIngreso;
	}

	public void setFechaIngreso(Date fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_retiro", nullable = false, length = 13)
	public Date getFechaRetiro() {
		return this.fechaRetiro;
	}

	public void setFechaRetiro(Date fechaRetiro) {
		this.fechaRetiro = fechaRetiro;
	}

	@Column(name = "correo", length = 50)
	public String getCorreo() {
		return this.correo;
	}

	public void setCorreo(String correo) {
		this.correo = correo;
	}

	@Column(name = "ubicacion_fisica", length = 100)
	public String getUbicacionFisica() {
		return this.ubicacionFisica;
	}

	public void setUbicacionFisica(String ubicacionFisica) {
		this.ubicacionFisica = ubicacionFisica;
	}

	@Column(name = "numero_contrato", length = 50)
	public String getNumeroContrato() {
		return this.numeroContrato;
	}

	public void setNumeroContrato(String numeroContrato) {
		this.numeroContrato = numeroContrato;
	}

	@Column(name = "foto", length = 100)
	public String getFoto() {
		return this.foto;
	}

	public void setFoto(String foto) {
		this.foto = foto;
	}

	@Column(name = "id_jubilado", nullable = false)
	public int getIdJubilado() {
		return this.idJubilado;
	}

	public void setIdJubilado(int idJubilado) {
		this.idJubilado = idJubilado;
	}

	@Column(name = "nit_numero", length = 14)
	public String getNitNumero() {
		return this.nitNumero;
	}

	public void setNitNumero(String nitNumero) {
		this.nitNumero = nitNumero;
	}

	@Column(name = "nup_numero", length = 12)
	public String getNupNumero() {
		return this.nupNumero;
	}

	public void setNupNumero(String nupNumero) {
		this.nupNumero = nupNumero;
	}

	@Column(name = "isss_numero", length = 9)
	public String getIsssNumero() {
		return this.isssNumero;
	}

	public void setIsssNumero(String isssNumero) {
		this.isssNumero = isssNumero;
	}

	@Column(name = "direccion", length = 200)
	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name = "en_caso_accidente_avisara", length = 50)
	public String getEnCasoAccidenteAvisara() {
		return this.enCasoAccidenteAvisara;
	}

	public void setEnCasoAccidenteAvisara(String enCasoAccidenteAvisara) {
		this.enCasoAccidenteAvisara = enCasoAccidenteAvisara;
	}

	@Column(name = "telefonos", length = 75)
	public String getTelefonos() {
		return this.telefonos;
	}

	public void setTelefonos(String telefonos) {
		this.telefonos = telefonos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhEmpleado")
	public Set<SferhEmpleadoExp> getSferhEmpleadoExps() {
		return this.sferhEmpleadoExps;
	}

	public void setSferhEmpleadoExps(Set<SferhEmpleadoExp> sferhEmpleadoExps) {
		this.sferhEmpleadoExps = sferhEmpleadoExps;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhEmpleado")
	public Set<SferhCasoEmb> getSferhCasoEmbs() {
		return this.sferhCasoEmbs;
	}

	public void setSferhCasoEmbs(Set<SferhCasoEmb> sferhCasoEmbs) {
		this.sferhCasoEmbs = sferhCasoEmbs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhEmpleado")
	public Set<SferhExpediente> getSferhExpedientes() {
		return this.sferhExpedientes;
	}

	public void setSferhExpedientes(Set<SferhExpediente> sferhExpedientes) {
		this.sferhExpedientes = sferhExpedientes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhEmpleado")
	public Set<SferhEmpleadoXCatParentesco> getSferhEmpleadoXCatParentescos() {
		return this.sferhEmpleadoXCatParentescos;
	}

	public void setSferhEmpleadoXCatParentescos(
			Set<SferhEmpleadoXCatParentesco> sferhEmpleadoXCatParentescos) {
		this.sferhEmpleadoXCatParentescos = sferhEmpleadoXCatParentescos;
	}

}
